Notes 14 issues with Java and Locales


If you work in an International company you know all about the pain of different date, number etc formats around the world.



I have a CRM project at a customer where PDF invoices are created from Notes/Domino data. On each invoice the date and number formats are dependant on in which country the customer resides.

The invoices are created in Java and have been working great for a number of years.

Recently I have begun upgrading users to Notes 14. Then suddenly some users could no longer create the invoices for some countries, dates and numbers would be missing.

I could not exactly pinpoint where the issues were, but it had to do with Java Locales

After running up and down the Internet and looking everywhere....It got clearer to me things had changed after Java 8 (used in Notes 12), how locales are handled in Java.

It does not matter if your code is compiled to Java 8,it is a runtime issue.

It is described well here: https://incusdata.com/blog/locale-problems-upgrading-java8.

So there is a workaround how use the "old" way like in Java 8.

You need to add the parameter -Djava.locale.providers=COMPAT when the VM is run.

I was a little unsure how to do this in Notes, however Jesse Gallagher pointed to the use of a JavaOptions file.

In notes.ini add an entry JavaUserOptionsFile=Path/Filename pointing to a text file with the VM paramters

Lo and behold ..it worked and the invoice PDF creation is working again.


Links:

https://github.com/elastic/logstash/issues/12409
https://incusdata.com/blog/locale-problems-upgrading-java8
https://admincamp.de/customer/notesini.nsf/85255a87005060c585255a850068ca6f/2865a6a9b1bd5a7bc1257264004ff8ca?OpenDocument


Posted on 10/07/2024 04:59:51 PM CEDT